-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: proof system v1 (from v0.1) #309
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
QuantumExplorer
changed the title
feat!: proof system v1 (from v0)
feat!: proof system v1 (from v0.1)
Jul 9, 2024
6 tasks
ogabrielides
reviewed
Jul 9, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Some documentation requests (can be done later)
ogabrielides
approved these changes
Jul 9, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
@fominok please review, even after I merge this in. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue being fixed or feature implemented
The previous proof system was causing issues for proofs with limits in Platform, these issues would cause proofs to cause failures in the system. As it was built by someone no longer with the project we needed to either understand how it worked or rewrite it. Understanding how it worked proved to be phenomenally hard to achieve, so instead a new GroveDB
proof system was devised.
What was done?
Introduced Proof System V1. This proof system resolves around recursive GroveDB proof layers. Each proof layer represents a merk and can have sublayers if we want to query subtrees.
Proofs are no longer verbose/non verbose, instead you just simply need to set in your proof verification options that you are querying a subsection of the proof.
Proofs also can no longer have offsets. Offsets never really worked with proofs as they can balloon proofs. It was an architectural mistake to every have offsets and this is now fixed. Instead users should use proper ranges that were offset by the end value of previous requests.
How Has This Been Tested?
Many many tests were written, also it passes all platform tests, and also solves the issues we were experiencing in platform.
Breaking Changes
Since this is a new proof system, it represents a breaking change to Platform.
Checklist:
For repository code-owners and collaborators only